home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / comm / slip_irc.zip / PHONE.DOC < prev    next >
Text File  |  1994-02-08  |  46KB  |  1,362 lines

  1. SLIP package    Page 1    March 1, 1993
  2.  
  3.  
  4. What is SLIP?    1
  5. How Does It Work?    1
  6. What is the SLIP package?    3
  7. SLIP.BAT    3
  8. UMSLIP.COM    3
  9. TERMIN.COM    3
  10. PHONE.EXE    3
  11. Documentation    3
  12. SLIPDISK    3
  13. Where to Get It    4
  14. SLIP.BAT    4
  15. SETUP    4
  16. POPMAIL    4
  17. GOPHER    5
  18. TELNET    5
  19. FTP    5
  20. QUIT    5
  21. UMSLIP.COM    5
  22. TERMIN.COM    5
  23. PHONE.EXE    6
  24. The HELP system (F1 Key)    6
  25. Hot Keys    6
  26. Cross-References (Hypertext)    7
  27. Mouse    7
  28. Previous Key (Alt-F1)    7
  29. Index    7
  30. Contents    7
  31. Help-with-Help    7
  32. The Primary Screen    8
  33. The Menu Bar    8
  34. Selecting from the Menu Bar    8
  35. The System (Alt-Space)    9
  36. Actions (Alt-A)    9
  37. Setup (Alt-S)    10
  38. Server Window    19
  39. Time Display    20
  40. The Lower Status Bar    20
  41. Active Keys display    20
  42. Context-Sensitive display    20
  43. Transaction Log Window    20
  44. Command-line operations    20
  45. PHONE DIAL    21
  46. PHONE HANGUP    21
  47. PHONE FORCE <command>    21
  48. PHONE WRITE    21
  49. PHONE ?    21
  50. Scripts    21
  51. Built-in scripts    22
  52. How to make custom scripts    22
  53. PHONE WRITE    22
  54. PHONE.CMD    22
  55. The SLIPScript Language    23
  56. SLIPScript Elements    23
  57. SLIPScript commands    23
  58. Writing a script    30
  59. Debugging a script    30
  60. Let us know about your scripts.    31
  61.  
  62. What is SLIP?
  63.  
  64. SLIP stands for Serial Line Internet Protocol, and is a way to 
  65. establish a network connection through a modem.  What this means 
  66. is that programs like POPMail, Gopher and NCSA Telnet will operate 
  67. over telephone lines and through your modem, as if connected to the 
  68. network by a network card.
  69.  
  70. Normal network connections are usually very fast (on the order of 10 
  71. million bits per second, as compared with 10 thousand bits per 
  72. second with the fastest modem), so applications running over a SLIP 
  73. connection may seem to run somewhat more slowly than they would 
  74. on a hardwired network connection.  
  75.  
  76. However, there are many advantages to using networked 
  77. applications rather than standard modem communication programs 
  78. such as Procomm.  For one, you can take advantage of client-server 
  79. protocols such as Gopher or POP, which allow your computer to do 
  80. some of the computing work, and to store the files received on your 
  81. hard drive rather than on a remote host computer.  Another 
  82. advantage is the ability to run multiple sessions:  programs like NCSA 
  83. Telnet will allow you to connect to multiple hosts at one time, and to 
  84. transfer files in the background while working in another window.
  85.  
  86. In order for this to work, your local network must have a "SLIP 
  87. server".  A SLIP server is a computer which monitors incoming 
  88. modems for SLIP connections and translates the modem signals into 
  89. standard TCP/IP network signals.  You may also have some form of 
  90. security system controlling who can connect to a SLIP server and 
  91. receive an IP address.  You should check with your local network 
  92. administrator to see if SLIP is available.
  93.  
  94. How Does It Work?
  95.  
  96. Developers of network applications often design their software to use 
  97. the Packet Driver Specification.  A packet driver is a small piece of 
  98. software that handles communications between your computer and 
  99. the outside world.  A packet driver communicates with an ethernet 
  100. board, a Token Ring card, a serial communications port, or some 
  101. other piece of hardware that is connected to the network.  It 
  102. provides the "glue" that allows the network application to 
  103. communicate properly with the network.  Applications written to the 
  104. Packet Driver Specification do not need to know how to communicate 
  105. with ever possible network adapter; they just need tonow how to 
  106. address the packet driver.  Figure 1 shows how this works.
  107.  
  108.                                            
  109.  
  110. Figure 1.  How network packet drivers work.
  111.  
  112.  
  113. The UMSLIP packet driver is written specially for SLIP 
  114. communications, and uses your serial port instead of a network 
  115. adapter card to make a network connection.
  116.  
  117.  
  118.                                         
  119.  
  120. Figure 2.  How UMSLIP makes a network connection
  121.  
  122.  
  123. Network applications such as POPMail and Gopher talk only to the 
  124. packet driver interface to get their information.  The UMSLIP packet 
  125. driver replaces the packet driver normally used with a network 
  126. adapter card, and  sends the data out the serial port of your 
  127. computer instead (Figure 2).  The network application can't tell the 
  128. difference:  it's only talking to the interface.  So all your network 
  129. applications function as if they are physically connected to the 
  130. network.
  131.  
  132. What is the SLIP package?
  133.  
  134. Everything that's necessary to make a SLIP connection can be found 
  135. together in the SLIP.ZIP compressed file.  These include:
  136.  
  137. SLIP.BAT
  138.  
  139. A convenient batch file which makes it easy to use all of the network 
  140. applications with SLIP.
  141.  
  142. UMSLIP.COM
  143.  
  144. The SLIP packet driver which translates program network signals 
  145. into modem signals.
  146.  
  147. TERMIN.COM
  148.  
  149. The unaltered NCSA TERMIN.COM program for removing 
  150. UMSLIP.COM from memory.
  151.  
  152. PHONE.EXE
  153.  
  154. The program which dials the telephone and establishes a SLIP 
  155. connection.
  156.  
  157. Documentation
  158.  
  159. PHONE.DOC is this file
  160.  
  161. PHONE.HLP is the on-line help database for PHONE.EXE
  162.  
  163. README.TXT is the help file for SLIP.BAT.
  164.  
  165. UMSLIP.DOC is a help file for UMSLIP.COM.
  166.  
  167. SLIPDISK
  168.  
  169. As a supplement to the basic SLIP package contained in SLIP.ZIP, an 
  170. automatic installation package is available called SLIPDISK.ZIP.  It 
  171. contains the PHONE, POPMAIL, GOPHER, and NCSA Telnet and FTP 
  172. programs, plus the installation program.
  173.  
  174. Where to Get It
  175.  
  176. SLIP.ZIP and SLIPDISK.ZIP are available via anonymous FTP from 
  177. boombox.micro.umn.edu in the /pub/slip directory.  SLIPDISK.ZIP is 
  178. in the slipdisk subdirectory, and is easiest to use when unzipped onto 
  179. a 1.44Meg 3 1/2" disk labelled DISK1.  To do so, type the command
  180.  
  181.     PKUNZIP -D SLIPDISK.ZIP A:
  182.  
  183. SLIP.BAT
  184.  
  185. SLIP.BAT is a batch file that automates SLIP.  Simply type "SLIP 
  186. XXXXX" to run option XXXXX via a SLIP connection.
  187.  
  188. The SLIP batch file will:
  189.  
  190. 1) Check to see if the UMSLIP packet driver is loaded, and loads it if 
  191. necessary.
  192.  
  193. 2) Check to see if there already is a SLIP connection and creates one 
  194. only if necessary.
  195.  
  196. 3) Run the program requested if everything is correct.
  197.  
  198. SLIP SETUP
  199.  
  200. Before you can successfully establish a SLIP connection, you need to 
  201. set up both your Modem parameters (Baud Rate, Word Length, etc.) 
  202. and your SLIP parameters (Username, Password, etc.)  The command 
  203. SLIP SETUP will automatically run the PHONE program and present 
  204. the configuration screens for easy access.
  205.  
  206. SLIP POPMAIL
  207.  
  208. Establishes the SLIP connection if necessary, then runs POPMAIL.
  209.  
  210. SLIP GOPHER
  211.  
  212. Establishes the SLIP connection if necessary, then runs GOPHER.
  213.  
  214. SLIP TELNET <parameters>
  215.  
  216. Establishes the SLIP connection if necessary, then runs TELNET.  For 
  217. example:
  218.  
  219.     SLIP TELNET LUMINA.LIB.UMN.EDU
  220.  
  221. SLIP FTP <parameters>
  222.  
  223. Establishes the SLIP connection if necessary, then runs FTP.  For 
  224. example:
  225.  
  226.     SLIP FTP BOOMBOX.MICRO.UMN.EDU
  227.  
  228. SLIP QUIT
  229.  
  230. If you are all done using slip and want to free up about 6k of 
  231. memory, you can type "SLIP QUIT".  This disconnects your modem, 
  232. and then unloads the UMSLIP.COM packet driver from memory.
  233.  
  234. UMSLIP.COM
  235.  
  236. The PHONE program needs the UMSLIP packet driver in order to talk 
  237. to the modem.  If you use the SLIP.BAT batch file, it will 
  238. automatically run UMSLIP for you.
  239.  
  240. If you want, you can run UMSLIP from your AUTOEXEC.BAT file to 
  241. ensure that it is always ready.
  242.  
  243. UMSLIP uses about 6k of RAM.
  244.  
  245. TERMIN.COM
  246.  
  247. TERMIN.COM will remove the UMSLIP.COM packet driver from 
  248. memory.  See SLIP QUIT above.
  249.  
  250. PHONE.EXE
  251.  
  252. PHONE establishes a connection to the SLIP server or terminates an 
  253. active connection.  It does this by sending commands to your modem 
  254. to dial the phone, and then sending your login information to 
  255. validate the connection with the SLIP server.  The UMSLIP.COM 
  256. program must be run before PHONE.EXE.
  257.  
  258. The HELP system (F1 Key)
  259.  
  260. To access PHONE's Help System, press the F1 key.  A window will
  261. open containing information about the menu item or dialog box field 
  262. that is currently in the foreground.  This is known as "context-
  263. sensitive" help.
  264.  
  265. You can browse through the help text using the
  266.  
  267.     Description    Key
  268.     up arrow        -
  269.     down arrow     /
  270.     Page Up        PgUp
  271.     Page Down        PgDn
  272.  
  273. keys on the keypad.
  274.  
  275. When you are finished using the help, press the Escape (Esc) key.
  276.  
  277. Hot Keys
  278.  
  279. Some menu commands are considered to be so important that they 
  280. need to be available with a quick keypress short-cut:  a "hot key" 
  281. that goes straight to that command.  Hot keys for PHONE are shown 
  282. below.
  283.  
  284.     Hot-Key    Command
  285.     F1        Help
  286.     F2        Dial
  287.     F3        Hang up
  288.     F5        Exit
  289.     Alt-X    Exit
  290.  
  291. Cross-References (Hypertext)
  292.  
  293. Some help messages contain Cross-References to other topics.   Cross-
  294. References are displayed in a different color from normal help text.  
  295. One cross-reference is always highlighted.  If you press Enter, the 
  296. help message associated with the cross-reference is displayed.  If 
  297. there are several cross-references within a help message, you can 
  298. press the Tab or Shift-Tab keys to move the highlight to the next or 
  299. previous cross-reference.
  300.  
  301.  
  302. Mouse
  303.  
  304. If your computer has a mouse, move the cursor over a cross-
  305. reference and click the left mouse button twice to select it.  Double 
  306. Clicking (pressing the left mouse button twice in rapid succession) 
  307. has the same effect as pressing the Enter key.
  308.  
  309. Previous Key (Alt-F1)
  310.  
  311. Press the PREVIOUS button (Alt-F1) to "back up" one page to the 
  312. previously-selected HELP topic.
  313.  
  314. Index
  315.  
  316. An alphabetical listing of every on-line help entry.
  317.  
  318. Contents
  319.  
  320. Help entries organized by subject and category.
  321.  
  322. Help-with-Help
  323.  
  324. You can use PHONE's on-line Help from the Help menu or via hot 
  325. keys.
  326.  
  327. Wherever you are in PHONE, you can press F1 to see a help
  328. screen about the menu command or dialog-box item that's 
  329. currently active.
  330.  
  331.  
  332. To learn more about using on-line Help, use the arrow keys
  333. to move the cursor to one of the Help keywords; then press ENTER.
  334.  
  335. You can also press TAB to jump to the next Help keyword,  and then 
  336. press ENTER.
  337.  
  338. If you're using a mouse, just click the Help keyword you're 
  339. interested in.
  340.  
  341. The Primary Screen
  342.  
  343. The Primary Phone Screen consists of four parts:  a top Menu Bar, a 
  344. message space below, a Transaction Log window where the progress 
  345. of the connection can be observed, and a lower Status Bar.
  346.  
  347. The Menu Bar
  348.  
  349. The Menu Bar consists of the primary groups of PHONE commands 
  350. available on pull-down menus.  You can open these menus by 
  351. selecting a given Menu Bar item with the mouse (by positioning the 
  352. cursor over a given item and clicking the left button), or by pressing 
  353. keys for those who don't use a mouse.
  354.  
  355. Selecting from the Menu Bar
  356.  
  357. There are three ways to select a menu command:
  358.  
  359.  F10
  360.  
  361. Press F10, then use the left and right arrow keys to select the 
  362. appropriate menu and use the the up and down arrow keys to select 
  363. a command.  Press Enter to choose the selected command.
  364.  
  365. Alt
  366.  
  367. Press Alt and the highlighted letter of the menu you want (such as 
  368. Alt-F for the File menu), use the up and down arrow keys to select a 
  369. command, then press Enter to choose that command.
  370.  
  371. You can also press the highlighted letter of a menu name or 
  372. command instead of using the arrow keys.
  373.  
  374. Mouse
  375.  
  376. Click on the title of the menu you want to pull down, then click on 
  377. the menu command you want to choose.
  378.  
  379. The highlighted menu title is the currently selected menu.
  380.  
  381. Menu commands are followed by an ellipsis (...), an arrow, or a hot 
  382. key.  An ellipsis indicates that selecting that option will bring up a 
  383. dialog box, as opposed to immediately initiating a program action.
  384.  
  385. The System (Alt-Space)
  386.  
  387. The System appears on the far left of the menu bar and is 
  388. represented by the = symbol.  Alt-Spacebar is a keyboard shortcut 
  389. that you can use at any time to pull down this menu.
  390.  
  391. The = menu contains the "About" item.  Some other programs will 
  392. provide some utilities under this menu.
  393.  
  394. About
  395.  
  396. When you choose the About command from the System menu, a 
  397. dialog box appears, showing copyright and version information.
  398.  
  399. Press ESC, click OK, or click Cancel to close the box.
  400.  
  401. Actions (Alt-A)
  402.  
  403. Phone can either Dial (F2) to establish a SLIP connection, or
  404. Hang Up (F3) to break the connection and clear the phone line.  
  405. Finally, you can Exit (Alt-X) from the program.
  406.  
  407. Dial (F2)
  408.  
  409. Once you have used the Setup options to configure your modem and 
  410. to enter  your user name and password, the DIAL command will 
  411. place the call and establishing the SLIP connection.
  412.  
  413. You can watch the lower Transaction Log window to observe the 
  414. progress of the connection.
  415.  
  416. After you have configured the DIAL menu, you can also type the 
  417. command PHONE DIAL from DOS.  This will run PHONE and attempt 
  418. to establish the SLIP connection with no further commands on your 
  419. part.
  420.  
  421. If the program fails to establish the connection for some reason, it 
  422. will return an ERROR CODE, id used in DOS batch files (such as the 
  423. SLIP.BAT file, see above) to decide whether to proceed to the next 
  424. command in a batch file.
  425.  
  426. You can begin dialing by using the mouse to click on Actions:Dial,  by 
  427. typing Alt-A then D, or by pressing the F2 key.
  428.  
  429. Hangup (F3)
  430.  
  431. If your modem is already connected to a SLIP server or any other 
  432. service, HANGUP will disconnect it and hang up the phone.  You can 
  433. also do this by typing the command PHONE HANGUP from DOS.
  434.  
  435. You can hang up by using the mouse to click on Actions:Hangup, by 
  436. typing Alt-A and then H, or by pressing the F3 key.
  437.  
  438. Quit (Alt-X)
  439.  
  440. Use the Exit command when you are done using PHONE.
  441.  
  442. Note that this does not hang up the phone or break your SLIP 
  443. connection (see the Actions:Hangup command).  It simply quits from 
  444. the PHONE.EXE program.
  445.  
  446. You can quit PHONE by using the mouse to click on Actions:Exit, by 
  447. typing Alt-A and then X, or by typing Alt-X.
  448.  
  449. Setup (Alt-S)
  450.  
  451. Before you can establish a SLIP connection, you need to configure 
  452. both your Modem parameters (F4) (Baud Rate, Word Length, etc.) 
  453. and your SLIP parameters (F5) (Username, Password, etc.)
  454.  
  455. Modem (F4)
  456.  
  457. The settings in this dialog box are used to tell your computer how to 
  458. talk to your modem.  The speed of the modem, where it's connected, 
  459. and what kind of modem it is are among the characteristics which 
  460. need to be set so that your computer and modem can communicate.
  461.  
  462. While this window may look complex, you should need to set only a 
  463. few of the options.  You will need to select the Baud Rate, Com Port, 
  464. and Modem List entries will need to be set, but the Advanced entries 
  465. are likely to be fine the way they are.
  466.  
  467.  
  468. Baud Rate
  469.  
  470. The Baud Rate is the speed at which modems and computers talk to 
  471. each other.
  472.  
  473. If your modem does not feature data compression, click on the 
  474. highest baud rate at which your modem can communicate.  If your 
  475. modem does feature data compression, click on a rate 2 to 4 times 
  476. higher than the highest baud rate at which your modem can 
  477. communicate.  Examples:
  478.  
  479. If you have a Hayes (TM) SmartModem 1200, a modem that does not 
  480. do data compression, click on 1200.
  481.  
  482. If you have a Multi-Tech (TM) MultiModem II, which is a 9600 baud 
  483. modem with data compression, click on 19,200 or 38,400.
  484.  
  485. If you choose a baud rate higher than that at which your modem can 
  486. communicate, you'll also have to check the boxes labeled CTS and RTS
  487. Handshaking (see below).  This prevents your modem from 
  488. overwhelming your computer with data.
  489.  
  490. Data Errors
  491.  
  492. Your modem may be able to detect transmission errors (caused by 
  493. static on the line, for instance) and correct them.  It corrects the 
  494. error by signaling the remote computer that an error occurred, and 
  495. requesting that the block of data be sent again.  If errors occur, your 
  496. final Baud Rate may seem to be much lower than that set.
  497.  
  498. Transmission Bottlenecks
  499.  
  500. In any SLIP connection, several devices are transferring information 
  501. in a "bucket brigade".  No matter the settings you use, the line can 
  502. only go as fast as the slowest device.  For example, you might set 
  503. your computer's baud rate to talk to its modem at 9600 baud.  
  504. However, the modem itself might only be a 2400 baud modem.  
  505. Therefore,  you'll only see 2400 baud transfers on your screen.
  506.  
  507. Data Compression
  508.  
  509. Finally, a factor which speeds things up instead of slowing them 
  510. down.  Data compression is a means by which slow modems can send 
  511. data faster than would normally be possible.  If your modem 
  512. supports data compression (and this will be clearly indicated on the 
  513. box at time of purchase, as it is a strong selling point), it will look at 
  514. the data that it receives to see if there are any ways in which the 
  515. data can be reduced in size.  For example, if it receives the letters 
  516. "aaaaaaaaa", it might compress them into "9*a".  Of course, the 
  517. modem on the other end of the telephone must know how to de-
  518. compress this data correctly.
  519.  
  520. COM Ports
  521.  
  522. Most IBM-compatible computers come with four possible 
  523. "Communications Ports".  Usually only one or two of these is built in 
  524. and others must be added separately.  These built in ports are COM1 
  525. and COM2.  If you are not sure which port your modem is connected 
  526. to, start with COM1, then try COM2.  If nothing works, you may have 
  527. to seek assistance in determining your setup.
  528.  
  529. COM 1
  530.  
  531. The most commonly-used Communications port is COM1.  Click on the 
  532. COM1 button if your modem is plugged into the COM1 port.  You'll 
  533. have to figure out what plug-in on your computer is the COM1 port 
  534. as they are rarely labeled.
  535.  
  536. If your computer has COM1 and COM2 already occupied, or you have 
  537. some special cards that use the COM interrupts, you may have your 
  538. COM ports at a non-standard address (see below).
  539.  
  540. COM 2
  541.  
  542. COM2 is also frequently used for communications.  If you have a 
  543. mouse connected to COM1, you will want to use COM2 for 
  544. communications.
  545.  
  546. COM 3 and COM 4
  547.  
  548. COM3 and COM 4 are not as commonly used as COM1 or COM2.  Part 
  549. of the reason for this is that these ports use the same Interrupt 
  550. signals as COM1 and COM 2 (Interrupts 4 and 3, respectively).   For 
  551. example, if you have a device on COM1, you cannot put a device on 
  552. COM3, because whenever the computer sends a signal to COM1 both 
  553. devices will try to answer at once.
  554.  
  555. Nonstandard Ports
  556.  
  557. For individuals who have filled their standard (COM1 through COM 4) 
  558. ports, several nonstandard ports are available, but not 
  559. recommended:
  560.  
  561. COM5 is actually COM3, but using interrupt level 2.
  562.  
  563. COM6 is actually COM4, but using interrupt level 2.
  564.  
  565. COM7 is actually COM3, but using interrupt level 5.
  566.  
  567. COM8 is actually COM4, but using interrupt level 5.
  568.  
  569. Real techweenie stuff
  570.  
  571. Below is a chart of I/O addresses and Interrupt levels.  Most users
  572. won't have to worry about this.  If you have your COM  port at a 
  573. non-standard I/O address or interrupt level, then you'll have to 
  574. consult this chart to figure out what COM port your serial port uses.
  575.  
  576. Unfortunately there are two sets of these numbers, one for non-
  577. MicroChannel PC's and one for MicroChannel PC's.  MicroChannel PC's 
  578. are mainly IBM PS/2 models 50 and above.
  579.  
  580. MicroChannel                ISA/EISA
  581. PORT    IRQ    I/O Address    PORT     IRQ    I/O Address
  582. com1    4     03f8         com1    4    03f8
  583. com2     3    02f8         com2    3    02f8
  584. com3    3    3220        com3    4    03e8
  585. com4    3    3228        com4    3    02e8
  586. com5     3    4220        com5     2    03e8
  587. com6     3     4228        com6    2    02e8
  588. com7     3     5220        com7    5    03e8
  589. com8    3     5228        com8    5    02e8
  590.  
  591. Modems
  592.  
  593. It's important to know what kind of modem you are using when 
  594. establishing a SLIP connection.  The Modem List displays built-in 
  595. scripts for operating Hayes, ADI-100, and other kinds of modems.  It 
  596. is possible to build customized scripts if your modem is not listed 
  597. (see SCRIPTS below).
  598.  
  599. HAYES
  600.  
  601. As the standard by which other modem command sets are measured, 
  602. the Hayes script ought  to be compatible with any modem.  Of course 
  603. it isn't, which is why customized scripts are needed (see SCRIPTS 
  604. below).
  605.  
  606. ADI
  607.  
  608. The University of Minnesota's internal telephone system operates 
  609. over a digital network, allowing both voice and computer data to be 
  610. transmitted over the same phone line, and allowing for the routing of 
  611. computer data into the SLIP server without using a standard modem.  
  612. Instead, offices at the University which do not yet have a standard 
  613. network connection can order an ADI-100 transceiver with MKO 
  614. (Machine Keyboard Originate) enabled.  For information about this 
  615. procedure, U of M staff can contact the Telecommunications 
  616. Department at 6-7800.
  617.  
  618. The ADI script is to be used with these ADI-100 connections.
  619.  
  620. Other
  621.  
  622. We will add other modem scripts to this list as time for testing 
  623. allows.  If you create a customized script which you think would be 
  624. useful to others, please feel free to send it to us at
  625.  
  626.     slip@boombox.micro.umn.edu
  627.  
  628. Advanced Configuration
  629.  
  630. Parity
  631.  
  632. Parity Checking is the means by which your computer can make sure 
  633. that transmitted data is getting through correctly.  Different hosts 
  634. need different parity settings.
  635.  
  636. Odd Parity means that the parity of all data words received should 
  637. be set odd.
  638.  
  639. Even Parity means that the parity of all data words received should 
  640. be set even.
  641.  
  642. Mark Parity means that no error checking is conducted, but the 
  643. parity bit is always set to one.  Nobody uses it.  There is no truth to 
  644. the rumor that Mark Parity invented the first modem.
  645.  
  646. Even fewer people use Space Parity than Mark parity.  Space parity 
  647. means no error checking is conducted, but the parity bit is always
  648. set to zero.
  649.  
  650. Stop Bits
  651.  
  652. Stop Bits are used to separate words of data.  The more stop bits  
  653. employed, the longer the pause between data words.  This used to be 
  654. an issue when data transmission technologies were new, but 
  655. nowadays stop bits are not quite as important.  One is usually 
  656. sufficient.
  657.  
  658. Two stop bits are usually more than are necessary.
  659.  
  660. Handshaking
  661.  
  662. Handshaking is the means by which two computers tell each other 
  663. when they are able and unable to accept further data.  There are two 
  664. ways to do this: Software and Hardware.
  665.  
  666. Software Handshaking
  667.  
  668. Software handshaking controls data flow by sending a signal called 
  669. "XON" for "Transmit On" (usually a control-Q), or "XOFF" for "Transmit 
  670. Off" (control-S).
  671.  
  672. The problem with this method is that if you send an XON or XOFF  
  673. signal inadvertently (for instance, by sending a binary file which 
  674. happens to contain a control-S character), your computer will 
  675. interpret this as an XOFF and stop sending.
  676.  
  677. So for SLIP transmissions, it usually best to use either NO 
  678. handshaking, or to use the other method of handshaking, Hardware 
  679. Handshaking.
  680.  
  681. Hardware Handshaking
  682.  
  683. Hardware handshaking depends on the actual pins connecting your 
  684. computer  to your modem to control data flow.  If you are using a 
  685. cable which does not have wires connecting pins number 4 and 5 (on 
  686. a 25-pin cable or 7 and 8 on a 9-pin cable) , hardware handshaking 
  687. will not function.  The two signals carried on these pins are Clear-To-
  688. Send CTS and Request-To-Send RTS.
  689.  
  690. CTS, or Clear-To-Send Handshaking, sets pin 5 of your serial port 
  691. either ON or OFF depending on whether or not your computer is 
  692. ready to receive more data from your modem.
  693.  
  694. RTS, or Request-To-Send Handshaking, sets pin 4 of your serial port 
  695. either ON or OFF depending on whether or not your computer is 
  696. ready to send more data to your modem.
  697.  
  698. If you are using a modem with data compression, set CTS and RTS 
  699. handshaking ON, otherwise leave it OFF.
  700.  
  701. Signals and Cables
  702.  
  703. There are nine signals which comprise the serial communication 
  704. signals from your computer to its modem (see table below).  These 
  705. signals are carried between your computer and modem by a modem 
  706. cable.  While nine signals are available, it is possible to skimp and get 
  707. by on only four of the nine signals:  SD, RD, DSR and DTR.  Sometimes 
  708. cable manufacturers will produce inexpensive cables by only running 
  709. four wires carrying these signals between the ends of the cable.   
  710. SLIP communications are much more demanding, and require all 
  711. nine signals to be present.  Be sure to use serial cables with all signal 
  712. lines in place.  One way to be sure is to purchase "flat" or "ribbon" 
  713. cable, which carries all 25 lines in a flexible plastic ribbon.
  714.  
  715. Table.  Serial communication signals and pins.
  716.     Signal Description    Code        25 Pin #        9 Pin #
  717.     Transmitted Data    SD        2            3
  718.     Received Data        RD        3            2
  719.     Request to Send        RTS        4            7
  720.     Clear to Send        CTS        5            8
  721.     Data Set Ready        DSR        6            6
  722.     Signal Ground        SG        7            5
  723.     Carrirer Detect        CD        8            1
  724.     Data Terminal Ready    DTR        20            4
  725.     Ring Indicator        RI        22            9
  726.  
  727.  
  728. Plugs
  729.  
  730. There are two kinds of plug to be found on modem cables.  The first 
  731. kind, 25-pin, is a wide, flat plug with two rows of pins.  Only nine of 
  732. these signals are used for serial communications, even if all 25 pins 
  733. are present (sometimes the unused pins are left out of the plug 
  734. itself).
  735.  
  736. The second kind of plug is a 9-pin connector.  It has one pin for 
  737. every signal necessary for serial communications.  The table below 
  738. indicates which pins carry which signal on each kind of plug.
  739.  
  740. Note that hardware handshaking will only work if the cable between 
  741. your modem and PC has the proper wires carrying Request to Send 
  742. and Clear toSend (pins 4 and 5 on a 25-pin connector, 7 and 8 on a 9-
  743. pin connector) running from end to end.  If your modem cable does 
  744. not carry all nine signals, you will need to purchase a cable with all 
  745. lines in place.    
  746.  
  747. Dialing
  748.  
  749. Touch tone dialing is present when you can place a call by dialing 
  750. with musical tones.  Sometimes you might think you have touch tone 
  751. because you have a fancy telephone which has buttons; but if it 
  752. doesn't actually complete your call until doing a lot of clicking, it's 
  753. likely converting your button-pushes into pulse signals.
  754.  
  755. Determine which type of telephone service you have, and select 
  756. either Tone or Pulse .  When in doubt, use Pulse.
  757.  
  758. Initialization String
  759.  
  760. You may wish to send some command to the modem to meet some 
  761. special need. The string you type in this box gets sent to the modem 
  762. just before dialing is done.  It is sent after the modem script has sent 
  763. its options.
  764.  
  765. SLIP (F5)
  766.  
  767. Configuration Window
  768.  
  769. A SLIP server is usually implemented with some form of security.  
  770. PHONE can be configured to respond correctly to your SLIP server's 
  771. security system by entering the proper values in the fields in this 
  772. window.
  773.  
  774. User Name
  775.  
  776. Enter your username as 
  777.  
  778.     username@computer.full.tcp.name
  779.  
  780. for example:
  781.  
  782.     joe0024@student.tc.umn.edu
  783.  
  784. Password
  785.  
  786. Enter the password that goes with your username here. 
  787. It will not be displayed on the screen, so be sure to get it right.
  788.  
  789. Phone Number
  790.  
  791. Enter the phone number in this box.
  792.  
  793. As of Feb, 1993 some commonly used phone numbers (in Minnesota) 
  794. are:
  795.  
  796.     % The Univ of Minn SLIP server for most modems is 626-1920.
  797.     % The Univ of Minn SLIP server when on-campus is 6-1920.
  798.     % The Univ of Minn SLIP server for ADI modems is 3-0291.
  799.     % The MRNET SLIP server is 626-7638.
  800.  
  801. If you are in a different area code, you'll need to prepend the area 
  802. code to these numbers.  In some area codes you also need to prepend 
  803. a 1.
  804.  
  805. Special Dialing Considerations
  806.  
  807. If you need to dial out from a hotel phone, or an office telephone 
  808. system, you may have to prepend a 8 or 9 to dial out of that local 
  809. phone system.  You may also have to add a comma to add a bit of 
  810. delay after the 8 or 9.  For example, to call the the U of M from a 
  811. hotel in California, you may have to specify:
  812.  
  813.      8,1,612,626-1920
  814.  
  815. If you have call-waiting, your SLIP connection may occassionally be 
  816. interrupted by incoming telephone calls.  Depending on the service 
  817. available in your area, you may be able to suspend call-waiting for 
  818. the duration of one call.  This is accomplished with a special dialing 
  819. sequence which precedes the actual phone number
  820.  
  821.     Tone        Pulse
  822.     *70        1170
  823.  
  824. To suspend call waiting from an off-campus telephone calling the 
  825. University of Minnesota, you would enter the phone number as
  826.  
  827.     *70,6261920
  828.  
  829. or if using pulse dialing
  830.  
  831.     1170,6261920
  832.  
  833. You may wish to test for this feature by hand before incorporating it 
  834. into your dialing sequence.
  835.  
  836. Server Window
  837.  
  838. A SLIP server is the remote computer which will be your gateway to 
  839. the TCP/IP network.  If more than one gateway exists, this window 
  840. will holds the list of gateways to choose from.  If only one gateway 
  841. exists, this window will not appear.  This list will vary from one local 
  842. network to another.
  843.  
  844. University of Minnesota students & staff should pick the UofM 
  845. server.
  846.  
  847. Time Display
  848.  
  849. For your convenience, the current time is displayed in the upper 
  850. right-hand corner of the screen.  This can be a useful device for 
  851. determining the timing of events if you happen to be writing a 
  852. custom script (see SCRIPTS below).
  853.  
  854. The Lower Status Bar
  855.  
  856. The lowest line on the screen is a status bar which will change to 
  857. offer you assistance with whatever portion of the program you 
  858. currently have active.  This bar has two parts:
  859.  
  860. Active Keys display
  861.  
  862. The left-hand portion shows active help keys highlighted in red, with 
  863. their names beside them in black.  For instance, at any time you can 
  864. press the F1 key to get Help with the current active item, so the 
  865. Active Keys display will usually show at least "F1 Help".
  866.  
  867. Context-Sensitive display
  868.  
  869. The right-hand portion of the Lower Status Bar indiciates the 
  870. purpose of the currently active item.  For instance, if the cursor is in 
  871. the Transaction Log window, the right-hand portion of the Lower 
  872. Status Bar reads "This window displays what is happening during a 
  873. login.", which is the function of the Transaction Log window.
  874.  
  875. Transaction Log Window
  876.  
  877. This window is where you can watch the interaction between your 
  878. computer and the remote computer which will provide SLIP service.
  879.  
  880. Labelled horizontal status bars indicate when important steps in the 
  881. login sequence are completed or fail to complete correctly.
  882.  
  883. Command-line operations
  884.  
  885. From the DOS command line, you can type
  886.  
  887. PHONE DIAL
  888.  
  889. to connect to the SLIP server, or
  890.  
  891. PHONE HANGUP
  892.  
  893. to disconnect from the SLIP server.  In some cases
  894.  
  895. PHONE FORCE <command>
  896.  
  897. where <command> is either DIAL or HANGUP may be necessary.  Try 
  898. these if PHONE is complaining that the modem is misbehaving.
  899.  
  900. PHONE WRITE
  901.  
  902. PHONE comes with several script files built in.  These include the 
  903. individual modem dialing scripts such as HAYES and ADI (see The 
  904. Primary Screen: Setup: MODEM above), plus the HANGUP command.
  905. The PHONE WRITE command will extract these scripts into a file 
  906. called PHONE.CMD.  For more information, see the SCRIPTS section 
  907. below.
  908.  
  909. PHONE ?
  910.  
  911. Prints a brief description of the PHONE command-line options.
  912.  
  913. Scripts
  914.  
  915. Until now, using SLIP was difficult.  First you had to call a SLIP 
  916. modem pool, using a modem and a communications program such as 
  917. PROCOMM. Then you would tell the modem pool that you wanted to 
  918. use SLIP, and receive an IP address for the session.  Then you would 
  919. exit the communications program, being careful not to disconnect 
  920. your modem (by leaving DTR on for you experts), and edit a 
  921. configuration file, adding your IP address to the configuration.  
  922. Finally, you would load your packet driver and you could use Telnet 
  923. or FTP.
  924.  
  925. This was very cumbersome.
  926.  
  927. The PHONE program is designed to automatically connect to a local 
  928. SLIP server, configuring your computer and loading the UMSLIP 
  929. packet driver.  Ideally you can establish a SLIP connection simply by 
  930. using the command:
  931.  
  932.     PHONE DIAL
  933.  
  934. from the DOS command line, or a batch file, and be connected 
  935. "automagically" .
  936.  
  937. Built-in scripts
  938.  
  939. To accomplish this task, PHONE understands a built-in scripting 
  940. language.  This lets you custom design a script to work at your 
  941. particular site.  You have to customize the script for each site for two 
  942. main reasons: (1) Each model of modem is slightly different and 
  943. needs different commands.  (2)  Each SLIPserver will have its own 
  944. custom prompt lines and will require different information for 
  945. logging on and entering SLIP mode.
  946.  
  947. We supply some generic scripts that work with Hayes-like modems 
  948. to dial our local U of MN SLIP server.  You can probably customize 
  949. this script for your particular site.  See the scripting language guide 
  950. which follows.
  951.  
  952. How to make custom scripts
  953.  
  954. PHONE comes with several built-in scripts.  However, these scripts 
  955. are not likely to work for anyone who is not at the University of 
  956. Minnesota.  Therefore, it will be necessary for many people to create 
  957. customized scripts.
  958.  
  959. PHONE WRITE
  960.  
  961. The first step in the process of creating customized scripts is to write 
  962. the built-in scripts out to a file.  It is often easiest to customize an 
  963. existing script rather than to start from scratch.  The PHONE WRITE 
  964. command writes the scripts out to the PHONE.CMD file.
  965.  
  966. PHONE.CMD
  967.  
  968. If the PHONE.CMD file is present in the directory with PHONE.EXE, 
  969. PHONE will read in PHONE.CMD rather than its built-in scripts.  
  970. With the SLIPScript language (see below), it's easy to create and use 
  971. customized SLIP scripts.
  972.  
  973. The SLIPScript Language
  974.  
  975. SLIPScript is a simple language for setting up the serial line, sending 
  976. characters, waiting for a character string.
  977.  
  978. Each SLIPScript script must contain at least two procedures, named 
  979. "Dial" and "Hangup".  The "Dial" script should contain commands to 
  980. open the SLIP connection.  The "Hangup" script should contain 
  981. commands to close the serial connection. 
  982.  
  983. SLIPScript Elements
  984.  
  985. # comment
  986.  
  987. You can enter any text after a # character.  This text will be ignored 
  988. by the command processor.
  989.  
  990. The # comment can be on a line by itself, or appended to the end of 
  991. another command line.
  992.  
  993. command param1 param2 param3
  994.  
  995. SLIPScript commands consist of a keyword.  Valid command 
  996. keywords are:  Proc, EndProc, Send, Serial, Expect, DTR, Repeat, Flush, 
  997. TimeOut, Wait, and Set.
  998.  
  999. Some commands take parameters.  Parameters are separated by 
  1000. spaces. If you need a space inside a parameter, enclose the whole 
  1001. thing in quotes ("").
  1002.  
  1003. The TimeOut, Wait and Repeat commands take a time in seconds.  
  1004. You can specify fractions of a second, i.e. 0.5 or 2.5 seconds. 
  1005.  
  1006. SLIPScript commands
  1007.  
  1008. Procedure and EndProcedure
  1009.  
  1010. The "Proc" statement  identifies the beginning of a procedure.  
  1011. Procedures continue until the next "EndProc" statement.
  1012. Example:
  1013. #
  1014. #     This is the shortest possible script
  1015. #
  1016. Procedure Modem.Hayes.Dial
  1017. EndProc   Modem.Hayes.Dial
  1018.  
  1019. The proc name has three parts, separated by dots.  The first part is 
  1020. either "Modem" or "Host".  The second part is the name of the modem 
  1021. or host.  The third part is either "Dial" or "Hangup" for a modem 
  1022. script, or "Login" and "Logout" for a Host Script.
  1023.  
  1024. Join
  1025.  
  1026. The join command lets you continue execution in another script.  For 
  1027. instance, many modems need some initial setup commands, then 
  1028. they can join the standard Hayes modem script.  The join command 
  1029. eliminates much duplicate scripting.
  1030.  
  1031. Serial
  1032.  
  1033. The "Serial" command lets you set up the serial port.  You can choose 
  1034. which serial port to use, what baud rate to use, and choose even, odd, 
  1035. or no parity.  You can also choose whether to use hardware 
  1036. handshaking.  The parameters are:
  1037.  
  1038. COM port
  1039. Selects the COM port to use.
  1040.  
  1041. 7 or 8
  1042. Selects 7 or 8 data bits.
  1043.  
  1044. 9999
  1045. Any string of 3 or more digits means a baud rate.  Valid values are 
  1046. 300,1200, 2400, 4800, 9600, 19200, 38400, 57600.
  1047.  
  1048. E, O, N
  1049. Selects Even, Odd, or None parity.
  1050.  
  1051. hi+ or hi-
  1052. Sets input hardware handshaking on (+) or off (-).
  1053.  
  1054. ho+ or ho-
  1055. Sets output hardware handshaking on (+) or off (-).
  1056.  
  1057. Examples:
  1058.  
  1059. Serial Modem 1200        # simple 1200 baud modem
  1060. Serial Modem 38400 hi+ ho+    # fancy v32 modem
  1061.  
  1062.  
  1063. Notes:
  1064.  
  1065. Once established in SLIP mode, SLIP connections must be 8 data bits.  
  1066. You may have to choose 7 data bits first to talk to the modem, PBX, 
  1067. or the terminal server. 
  1068.  
  1069. YouUll need hardware handshaking if you are using a modem with 
  1070. data compression.
  1071.  
  1072. YouUll also need hardware handshaking if your modem auto-connects 
  1073. at a different baud rate than the one it is talking to.  Otherwise it is 
  1074. safer to use the default ( hi- and ho-).  See the section on Hardware 
  1075. Handshaking for a discussion of hardware handshaking.
  1076.  
  1077. You may lose some incoming characters if they arrive just as the 
  1078. Serial command is being executed.  It is best to place the serial 
  1079. command at spots where you know is quiet.
  1080.  
  1081. Send
  1082.  
  1083. You use the Send statement to send out a stream of characters.  
  1084. Anything you place on the same line after the "Send" keyword will 
  1085. go out the serial line.  It is best to put the string in quotes ("") to 
  1086. avoid ambiguity.
  1087.  
  1088. There are a few special characters that have special meaning:
  1089.  
  1090. < (less-than sign)
  1091.  
  1092.   The less-than sign means send an ASCII "Return", or end of line 
  1093. character.  For example, to get the attention of a Hayes-style modem: 
  1094.  
  1095.          Send AT<
  1096.  
  1097.  
  1098. The percent sign means to insert a variable in place of the % sign.  
  1099. The character following the %  is a letter from a-z identifying the 
  1100. variable.
  1101.  Predefined variables include:
  1102.  
  1103.  %n
  1104. for the phone number entered into the SLIP user dialog box.
  1105.  %u 
  1106. for the user name entered into the SLIP user dialog box.
  1107. %p
  1108. for the password entered into the SLIP user dialog box.
  1109.  %s
  1110. for the custom init string entered into the SLIP modem dialog box.
  1111.  
  1112. ^ (caret sign)
  1113.  
  1114. The up-caret lets you send any control character.  For instance you 
  1115. can get the attention of a ADA 2020 modem by sending Control-Q:
  1116.  
  1117.         Send ^Q
  1118.  
  1119. To send the caret character itself, send two carets together (e.g. ^^).
  1120.  
  1121.  
  1122. Remember that the # starts a comment.
  1123.  
  1124. You can define other variables with the"Set" command
  1125.  
  1126. There is a 1 second pause before each send command.  There is a 
  1127. 1/10 second pause between sending out each character, in order to 
  1128. simulate typing speed.
  1129.  
  1130. SendDT
  1131.  
  1132. You use the SendDT statement to send the two forms of the dialing 
  1133. command.  The first parameter is the pulse dialing command, the 
  1134. second the tone dialing command.  For a Hayes modem, this is:
  1135.  
  1136.         SendDT 'AT DP %n' 'AT DT %n'
  1137.  
  1138.  
  1139. Expect
  1140.  
  1141. The Expect statement has two parameters.  The first is a string of 
  1142. characters to wait for.  The second is an error message to display if 
  1143. the string is not seen.  The strings are not case-sensitive.
  1144.  
  1145. It waits for the default time of 10 seconds.  If it doesnt get the 
  1146. specified string in that time, the script displays the error message, 
  1147. quits execution and SLIP signals connection failure to the application.
  1148.  
  1149. Example:  Getting the ModemUs attention:
  1150.  
  1151.         Send 'AT<'
  1152.         Expect 'OK' 'Did not get OK'
  1153.  
  1154.  
  1155. Reject
  1156.  
  1157. The Reject statement detects error conditions. The Reject statement 
  1158. has two parameters.  The first is a string of characters to wait for.  
  1159. The second is an error message to display if the string is seen.  The 
  1160. strings are not case-sensitive.
  1161.  
  1162. You can have any number of reject statements.  It waits for the 
  1163. default time of 10 seconds.  If it does get the specified string in that 
  1164. time, the script displays the error message, quits execution and SLIP 
  1165. signals connection failure to the application.
  1166.  
  1167. If you dont specify an error message, the current "alert" string is 
  1168. used.
  1169. Example:  Getting the ModemUs attention:
  1170.  
  1171.         Send 'AT DT6-1920<'
  1172.         Reject 'BUSY'          'Phone line is busy'
  1173.         Reject 'NO CARRIER'    'No modem answered'
  1174.         Expect 'OK'            'Did not get OK'
  1175.  
  1176. TimeOut
  1177.  
  1178. You can change the timeout interval for the next Expect statement 
  1179. with the TimeOut command.   The TimeOut command takes two 
  1180. parameters.  The first is the number of seconds to wait before timing 
  1181. out.  The second parameter is an error message to display upon 
  1182. timeout.
  1183.  
  1184. For example, if your phone system is slow to dial and connect, you 
  1185. may want to say:
  1186.  
  1187.         Send 'AT DT 636-1630<'
  1188.         TimeOut 45  'Did not get connect in 45 seconds'
  1189.         Expect 'CONNECT'
  1190.  
  1191. Repeat
  1192.  
  1193. The repeat command is useful when you have to retry sending a 
  1194. string of characters to get attention.  For instance, many systems 
  1195. require an indeterminate number of ASCII Return characters to 
  1196. detect your baud rate.  The repeat command makes this easy.  You 
  1197. can specify the number of repeats and the time interval between 
  1198. repeats:
  1199.  
  1200. Example: to get the attention of a certain terminal server:
  1201.  
  1202.         Repeat  '<'    'access:'  20 2.5
  1203.  
  1204. Will send "<"  which is the special character meaning ASCII Return, 
  1205. until it receives the string"access:".  It will try up to 20 times, with a 
  1206. 2.5 second pause between attempts.
  1207.  
  1208.  
  1209. Or to get the attention of a certain modem that is slow to detect the 
  1210. baud rate:
  1211.  
  1212.         Repeat 'AT<' 'OK'  5 1.0
  1213.  
  1214.  
  1215. You need not specify the repeat count and pause time.  The default 
  1216. repeat is 10 and default pause is 1.0 seconds.
  1217.  
  1218. Since the repeat command takes several parameters, you should 
  1219. enclose strings in quotes to avoid any confusion as to which 
  1220. parameter is which.
  1221. Example:
  1222.  
  1223.         Repeat "<"  "Please log in now:"
  1224.  
  1225. Wait
  1226.  
  1227. The wait command pauses for the specified number of seconds.  This 
  1228. is usually the wrong way to control interactions.  It is better to use 
  1229. the "Expect" command to wait for a particular prompt.  But 
  1230. sometimes a pause is the only way to meet some login requirement.
  1231.  
  1232.   Example:  Calling out through a slow PBX
  1233.  
  1234.         Send "Dial 8<"        # Get an outside line
  1235.         Wait 5.0            # Wait 5 sec for slow PBX
  1236.         Send 'Dial %n'        # send the phone number
  1237.  
  1238. DTR
  1239.  
  1240. Some modems or PBXUs don't respond until the DTR line (RS-232 pin 
  1241. 20) is asserted.  The DTR command lets you control the DTR line.  
  1242. Examples:
  1243.  
  1244.         DTR On              Asserts DTR
  1245.         DTR Off        Drops DTR
  1246.         DTR            Drops DTR, waits 1 second, asserts DTR
  1247.  
  1248.  
  1249. Note that many serial cables send the DTR line out pin 8, requiring a 
  1250. special cable or adapter to move this to pin 20.  See Signals and 
  1251. Cables above.
  1252.  
  1253. Flush
  1254.  
  1255. Sometimes you want to ignore any pending input characters as they 
  1256. may be misleading.  The Flush command throws away any pending 
  1257. input characters.  You often want to do this when you expect some 
  1258. "logon banner" that might have some unpredictable text.  Flush that 
  1259. stuff before you try to do an "Expect".
  1260.  
  1261. Example:
  1262.  
  1263.         Send 'AT DT 636-1630<'
  1264.         TimeOut 45
  1265.         Expect 'CONNECT'    # wait for modems to connect
  1266.         Flush
  1267.         Repeat "<" "login:" 20 1.0   # hit return til login
  1268.  
  1269. Set
  1270.  
  1271. The set command lets you set up variables that you use again and 
  1272. again.  You can set them up in one place instead of repeating them 
  1273. over and over.   The syntax is:
  1274. Set x something
  1275.  
  1276. Sets the variable x to the value "something".  x can be any letter from 
  1277. a to z.  Something can be anything including other % variable 
  1278. references.
  1279.  
  1280. Example:  Your terminal server prompts with "Server #0001 for the 
  1281. Main Campus:"
  1282.  
  1283.         Set %h "Server ##0001 for the Main Campus:"
  1284.         Send 'ATDT 636-1630'
  1285.         Expect 'CONNECT'
  1286.         Repeat '<' %h 20 2.0
  1287.         Send 'terminal NoEdit<
  1288.         Expect %h
  1289.         Send 'terminal FlowControl None<'
  1290.         Expect %h
  1291.         Send 'terminal baudrate 9600<'
  1292.         Expect %h
  1293.         Send 'terminal databits 8<'
  1294.         Expect %h
  1295.  
  1296. Writing a script
  1297.  
  1298. If possible, modify an existing script instead of writing a new one 
  1299. from scratch.  The best way is to try connecting with a terminal 
  1300. emulator, saving the output to a file.  This log file will guide you in 
  1301. writing the script.
  1302.  
  1303. You'll have to note places where you had to pause for something to 
  1304. respond.  Writing a script can be easy or difficult.  Many dial-up 
  1305. ports a bit non-deterministic and you'll have to play with the Repeat 
  1306. command until things work right.
  1307.  
  1308. When you write your script, make use of the variables the user has 
  1309. set up in the PHONE menu, i.e. don't hard code "636-1630" as the 
  1310. phone number, use the %p phone number variable.
  1311.  
  1312. Debugging a script
  1313.  
  1314. Try out scripts by choosing them in the Modem settings dialog box. 
  1315. PHONE will run your Dial script.  It may fail  at first.  The most likely 
  1316. failure is an Expect command failing.  If an "Expect" command fails, it 
  1317. will show you what it expected and what it actually received.  Edit 
  1318. the script and try again.
  1319.  
  1320. Remember to send a Return at the end of lines that expect a Return.  
  1321. The Send command never sends a Return for automatically.
  1322.  
  1323. Alert
  1324.  
  1325. You can put up custom messages in case of error conditions.  With 
  1326. the "Alert" command you can specify a message that will be put up if 
  1327. an Expect command fails. e.g.:
  1328.  
  1329.         Alert "Your modem may not be on?"
  1330.         Send 'AT<'
  1331.         Expect 'OK'
  1332.  
  1333.  
  1334. If PHONE doesnt get an "OK" in the specified time,  the user will see a 
  1335. dialog box with "Your modem may not be on?".
  1336.  
  1337. Message
  1338.  
  1339. You can also put up an informative message to the user to keep them 
  1340. appraised of how the dialing procedure is going.  Normally PHONE 
  1341. displays each command as it is executed.  If you use the Message 
  1342. command, that string will be displayed instead of the commands.  
  1343. Your message will remain displayed until you change it with another 
  1344. Message commmand, or until the script ends. e.g.:
  1345.  
  1346.         Message "Getting the modem's attention"
  1347.         Send 'AT<'
  1348.         Expect 'OK'
  1349.         Message "The modem is responding!"
  1350.  
  1351. Let us know about your scripts.
  1352.  
  1353. We will add other modem scripts to our list as time for testing 
  1354. allows.  If you create a customized script which you think would be 
  1355. useful to others, please feel free to send it to us at
  1356.  
  1357.     slip@boombox.micro.umn.edu
  1358.  
  1359.  
  1360.